function 构造序列迭代器(开始=0, 结束=Infinity, 步长=1) {
    let 节点 = 开始;
    let 计数器 = 0;

    const 序列迭代器 = {
        next() {
            let 结果;
            if (节点 < 结束) {
                结果 = {
                    value: 节点,
                    done: false,
                }
                节点 += 步长;
                计数器++;
                return 结果;
            }
            return {
                value: 计数器,
                done: true,
            }
        },
        [Symbol.iterator]() {
            return this;
        },
    }

    return 序列迭代器;
}

let 迭代器 = 构造序列迭代器(1, 10, 2);
// let 结果 = 迭代器.next();
// while(!结果.done) {
//     console.log(结果.value);
//     结果 = 迭代器.next();
// }
// console.log(`已迭代序列大小: ${结果.value}`);
for (let 元素 of 迭代器) {
    console.log(元素)
}
